package com.ayoka.parenting.ui.coach.applycoach;

import android.support.v4.app.DialogFragment;
import android.support.v4.app.FragmentManager;

import com.ayoka.parenting.bean.ApplyCoachConditionBean;
import com.ayoka.parenting.bean.SpinnerOptionBean;
import com.ayoka.parenting.interf.RequestCallback;
import com.ayoka.parenting.mvp.BasePresenter;
import com.ayoka.parenting.mvp.BaseView;

import java.util.List;

/**
 * @ProjectName: MVPPlugin.
 * @ClassName: ApplyCoachContract.
 * @Description: .
 * @Author: jincp.
 * @CreateDate: 2019/10/10 18:17.
 */
public class ApplyCoachContract {

    interface View extends BaseView {
        void onAddressSelected(String province, String city, String area, String street);

        void onDialogDismiss(DialogFragment dialog);

        void onSelectorDateCallback(long result);

        void onSubmitApplyCoachCallback(boolean isSuccess);
    }

    interface Presenter extends BasePresenter<View> {
        List<SpinnerOptionBean> getApplyTypeOptionData();

        List<SpinnerOptionBean> getDegreeOptionData();

        List<SpinnerOptionBean> getParentOptionData();

        List<SpinnerOptionBean> getChildrenOptionData();

        List<SpinnerOptionBean> getCompleteOptionData();

        void showAddressSelectorDialog(FragmentManager fragmentManager);

        void showSelectorDateDialog(FragmentManager fragmentManager);

        void submitApplyCoach(String name, int applyType, String birthDate, int degree, String province, String province1, String work, String contractMobile, String email, String contractAddress, int parent, int children, String wechatNumber, int complete, String experience, String extra);
    }

    interface Model {
        List<SpinnerOptionBean> getApplyTypeOptionData();

        List<SpinnerOptionBean> getDegreeOptionData();

        List<SpinnerOptionBean> getParentOptionData();

        List<SpinnerOptionBean> getChildrenOptionData();

        List<SpinnerOptionBean> getCompleteOptionData();

        void submitApplyCoach(BasePresenter presenter, String name, int applyType, String birthDate, int degree, String province, String city, String work, String contractMobile, String email, String contractAddress, int parent, int children, String wechatNumber, int complete, String experience, String extra, RequestCallback<ApplyCoachConditionBean> requestCallback);
    }
}
